TCaption - viac farieb

Otázka od: Martin Kasman

7. 1. 2004 13:05

Dalo by sa nastavit pre jeden objekt typu TCaption viac farieb? Napriklad
mali by sa zobrazovat dve pisemena AB a pismeno A by bolo cervene a pismeno
B zelene. Opakujem, ze ide len o jeden objekt.

Vdaka za kazdu radu



Odpovedá: Ondrej Kelle

7. 1. 2004 13:57

> Dalo by sa nastavit pre jeden objekt typu TCaption viac
> farieb?

V Controls najdes deklaraciu:

type
  TCaption = string;

Takze TCaption nie je ziadny objekt ale string. S farbami nema nic spolocne
(neda sa nastavit ani jedna, nie to este viac  .
Pokial Ti ide o kreslenie toho textu v nejakej kontrolke, zalezi to od nej,
napriklad ci podporuje customdraw, alebo poskytuje nejake eventy ako OnPaint
apod.

HTH
TOndrej

Odpovedá: Martin Kasman

7. 1. 2004 14:19

Ospravedlnujem sa. Nemyslel som TCaption ale TLabel. Mozno by pomohlo aj pre
TStaicText.

----- Original Message -----
From: "Ondrej Kelle" <o.kelle@digitalpublishing.de>


> > Dalo by sa nastavit pre jeden objekt typu TCaption viac
> > farieb?
>
> V Controls najdes deklaraciu:
>
> type
> TCaption = string;
>
> Takze TCaption nie je ziadny objekt ale string. S farbami nema nic
spolocne
> (neda sa nastavit ani jedna, nie to este viac  .


Odpovedá: Ondrej Kelle

7. 1. 2004 15:32

>> Dalo by sa nastavit pre jeden objekt typu TCaption viac
>> farieb?

> Nemyslel som TCaption ale TLabel. Mozno by pomohlo aj
> pre TStaicText.

Priamo TLabel nie, ale slo by to odvodenim vlastnej triedy od TCustomLabel,
overridnutim metody DoDrawText.

TStaticText je wrapper nad standardnou windows kontrolkou STATIC a ta sice
podporuje owner drawing, ale TStaticText tuto podporu nevyuziva, slo by to
dopisat v potomkovi pouzitim stylu SS_OWNERDRAW a spracovanim spravy
CN_DRAWITEM.

Ak nepotrebujes plne funkcnu kontrolku a staci Ti jednoduche a rychle
riesenie pre nejaky projekt, staci aj pouzit TPaintBox a kreslit si ten text
alebo cokolvek ine jednoducho v OnPaint handleri na urovni formulara.

HTH
TOndrej